Freehand user input such as input from a mouse or optical pen operated by a user of a computer system or other electronic device is accepted by many different types of applications. For example, freehand input from a mouse is accepted by Microsoft's Paint program and enables the user to construct freehand drawings on a display surface connected to a computer system or other electronic device. One type of freehand user input is Graffiti®, a text recognition system which is used in conjunction with the Palm OS® from PalmSource of Sunnyvale, Calif. in handheld PDAs (Personal Digital Assistants). The acceptance of the freehand input enables an application to interact with the user in an easy and well understood manner and enables the user to customize the displayed output of the particular application.
Block diagram environments such as Simulink® from The MathWorks of Natick, Mass., enable a user to construct models of dynamic systems. These models include graphical references to system components which may be used to simulate the system operations. Current block diagram environment tools enable a user to drag items from pre-defined templates into a block diagram. The components being dragged into the block diagram include attributes enabling the component to be modeled in the system during the simulation of the diagram. Unfortunately, conventional block diagram environments do not allow a user to sketch in system components using freehand input. The result is a lengthy series of drag and drop operations that the user is required to perform when constructing the block diagram. Additionally, the user must also first search to find the desired component in the proper template.